const install = (Vue, vm) => {


	Vue.prototype.xz_set = function(name, val){
		uni.setStorageSync(name, val);
	}
	Vue.prototype.xz_get = function(name){
		uni.getStorageSync(name) || ''
	}
	

	
	Vue.prototype.xz_del = function(name){
		uni.removeStorageSync(name);
	}
	
	// 价格整数
	Vue.prototype.xz_int= function(val){
		
			let priceStr = val.toString();
			if (priceStr != parseInt(priceStr)) {
				return priceStr.split('.')[0];
			} else {
				return priceStr;
			}
		
	}
	Vue.prototype.xz_sum= function(val){
			let priceStr = name.toString();
			if (priceStr != parseInt(priceStr)) {
				return priceStr.split('.')[1];
			} else {
				return '00';
			}
	}
	
	
	   //换键名
	    Vue.prototype.xz_key = function(arr, oldKey,key) {
	  let newArr = [];
	  arr.forEach((item, index) => {
	    for (var i = 0; i < key.length; i++) {
	      item[key] = item[oldKey];
	    }
	    // 删除原始key名
	    delete item[oldKey];
	    newArr.push(item);
	  });
	  return newArr;
	}
	//使用方法
	//let newArr = this.xz_key(原数组, "原名", "新名");
	//console.log(newArr);
	
	Vue.prototype.xz_go = function(name, id) {

	if (typeof val == 'object') {
				vm.$Router.push({
					name: name,
					params: val
				});
			} else if (typeof val == 'number' || typeof val == 'string') {
				vm.$Router.push({
					name: name,
					params: { id: val }
				});
			} else {
				vm.$Router.push({
					name: name
				});
			}
	}
	Vue.prototype.xz_id = function() {
		console.log("小政获取路由参数")
		return vm.$Router.params.id;
	}
	//路由传对象
	Vue.prototype.xz_goto = function(name, val) {
		// const token = uni.getStorageSync('token') || '';
		
		// if(!token){
		// 	vm.$Router.push({
		// 		name: 'login'
		// 	});
		// 	return false;
		// }
		
	 if (typeof val == 'object') {
			vm.$Router.push({
				name: name,
				params: val
			});
		} else if (typeof val == 'number' || typeof val == 'string') {
			vm.$Router.push({
				name: name,
				params: { id: val }
			});
		} else {
			vm.$Router.push({
				name: name
			});
		}
	}
	//获取参数
	Vue.prototype.xz_item = function(e) {
		return JSON.parse(decodeURIComponent(e.query)).item;
	}
	
	
	
	//查看图片方法
	Vue.prototype.see_img = function(image, index) {
		//此方法传图片地址要数组的形式，所以定义一个数组，然后将内容push进去，再去做图片预览
		var arr = [];
		arr.push(image);
		//uniapp预览轮播图方法
		uni.previewImage({
			current: index, //预览图片的下标
			urls: arr //预览图片的地址，必须要数组形式
		})
	};


	//复制文本
	Vue.prototype.copy = function(value) {
			//提示模板
			uni.setClipboardData({
				data: value, //要被复制的内容
				success: () => { //复制成功的回调函数
					uni.showToast({ //提示
						title: "复制成功"
					})
				}
			});
		},
		
		Vue.prototype.call = function(value){
		 uni.makePhoneCall({
		 // 手机号
		    phoneNumber: value, 
				// 成功回调
				success: (res) => {
				console.log('调用成功!')	
				},
				// 失败回调
				fail: (res) => {
				console.log('调用失败!')
				}
			
		  });
		}
		
		//添加联系人
		Vue.prototype.add_phone = function(value){
		uni.addPhoneContact({
			nickName: '昵称',
			remark: '备注',
			mobilePhoneNumber: '114',
			weChatNumber: 'wx123',
			success: function () {
				console.log('调用成功!')	
			},
			fail: function () {
				console.log('调用失败!')
			}
		});
		}
		
		

	

//关闭所有页面打开一个新的页面
Vue.prototype.xz_home = function(name) {
		console.log("小政获取路由参数")
		return vm.$Router.replaceAll({
			name: name
		});
	}
	//2.返回上一页
	Vue.prototype.xz_back = function() {
		vm.$Router.back(1);
		console.log("小政返回上一页")
	}

	Vue.prototype.say = function(text) {
		uni.showToast({
			title: text,
			icon: 'none',
			duration: 2000
		});
	}
	
	    //定义一个变量存储定时器  节流
	        Vue.prototype.once_time = null;
	        //防抖全局方法
	        Vue.prototype.xz_once = function (func, wait = 500) {
	            console.log("节流操作")
	            // 清除定时器
	            if (Vue.prototype.once_time !== null) {
	                clearTimeout(Vue.prototype.once_time)
	            };
	            //定时器开始
	            Vue.prototype.once_time = setTimeout(function () {
	                typeof func === 'function' && func();
	            }, wait);
	        }
			
			Vue.prototype.noClick = true; 
			Vue.prototype.shake = function (methods, info) {
			      // methods是需要点击后需要执行的函数， info是点击需要传的参数
			 let that = this;
			 if (Vue.prototype.noClick) {
				  // 第一次点击
				 Vue.prototype.noClick= false;
				  if(info && info !== '') {
					  // info是执行函数需要传的参数
					 methods(info);
				 } else {
					 methods();
				 }
				 setTimeout(()=> {
					Vue.prototype.noClick= true;
				 }, 1500)
			 } else {
				 // 这里是重复点击的判断
				  console.log("防抖操作")
			 }
		 }



}

export default {
	install
}
